const path = require('path')

const Koa = require('koa');
const KoaBody = require('koa-body')
const koaStatic = require('koa-static')
const KoaParameter = require('koa-parameter')
const cors = require('@koa/cors')

const errHandler = require('./errHandler')

// const userRouter = require('../router/user.route');
const router = require('../router/index') // 引入路由

const app = new Koa();
app.use(cors())
app.use(KoaBody({
    multipart: true,
    formidable: {
        // 在配置选项option中，不推荐使用相对路径
        // 在option里的相对路径，不是相对当前文件。相对process.cwd()
        uploadDir: path.join(__dirname, '../upload'),
        keepExtensions: true // 保留扩展名
    }
}))
app.use(koaStatic(path.join(__dirname, '../upload')))
app.use(KoaParameter(app))
// app.use(userRouter.routes())
app.use(router.routes()) // 注册路由
app.use(router.allowedMethods()) // 不接受的请求返回501

app.on('error', errHandler)
module.exports = app